#ifndef GRAPHUNITTESTS_H
#define GRAPHUNITTESTS_H

#include "stdafx.h"
#include "TestUtils.h"
#include "Graph.h"
#include <cstdlib>


// Insert one vertex, return it as minimal
TestUtils::TestResult GetSingleVertexAsMinimal() ;

// Insert 2 vertices, get the minimally ranked one
TestUtils::TestResult GetMinimalRankedVertexOutOf2DifferentRanks();

// Insert 2 vertices to graph, get them by rank
TestUtils::TestResult GetMinimalRankedVertexTwice();

// Get NULL from empty graph
TestUtils::TestResult GetVertexFromEmptyGraph();

// Add group to graph and verify
TestUtils::TestResult AddGroupToGraph();

// Empty the graph and see temp group is restored later
TestUtils::TestResult CheckResettingTempContainer();

// Get Minimal 2 vertices (only vertices in graph)
TestUtils::TestResult GetMinimalCouple();

#endif